/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ipartek.formacion.gestformwww.controlador;

import java.util.Map;
import java.util.HashMap;






/**
 *
 * @author Aratz Setién
 */
public class AccionFactory {

    private static Map acciones = new HashMap();
    /**
     * Descripción: si no existe la acción la instancia y si no la crea y la mapea.
     * @param classname
     * @param loader
     * @return devuelve la instancia de una acción
     * @throws ClassNotFoundException
     * @throws InstantiationException
     * @throws IllegalAccessException
     */
    public  Accion getAction(String classname, ClassLoader loader) throws ClassNotFoundException, InstantiationException, IllegalAccessException {

        Accion action = (Accion) acciones.get(classname);
        if (action == null) {
            Class klass = loader.loadClass(classname);
            action = (Accion) klass.newInstance();
            
            acciones.put(classname, action);
        }
        return action;

    }
    
}
